/**
 * ++ -- ：写在前面，先运算，后赋值；写在后面，先赋值后运算
 */

/**
 * for()循环基本语句：和Java相同
 */

/**
 * While循环：和Java相同
 */

/**
 * break：
 * 1、在switch语句中使流程跳出switch语句；
 * 2、在循环语句中，使流程跳出当前循环，遇到break循环终止，后面代码不会执行。
 * - 注意：
 * - 1、如果在循环中已经执行了break语句，就不会执行循环体中位于break后面的语句；
 * - 2、在多层循环中，一个break语句只能向外跳出一层。
 * 
 * continue：
 * 只能在循环语句中使用，使本次循环结束，即跳过当前循环
 */
main(List<String> args) {
  /**
   * 打印Map的List
   */
  List list1 = [
    {'title': "新闻111"},
    {'title': "新闻222"},
    {'title': "新闻333"}
  ];

  for (var i = 0; i < list1.length; i++) {
    print(list1[i]['title']);
  }

  /**
   * 打印二维数组
   */
  List list2 = [
    {
      "cast": "国内",
      "news": [
        {'title': "国内新闻111"},
        {'title': "国内新闻222"},
        {'title': "国内新闻333"}
      ]
    },
    {
      "cast": "国际",
      "news": [
        {'title': "国际新闻111"},
        {'title': "国际新闻222"},
        {'title': "国际新闻333"}
      ]
    },
  ];

  for (var i = 0; i < list2.length; i++) {
    print(list2[i]["cast"]);

    for (var j = 0; j < list2[i]["news"].length; j++) {
      print(list2[i]["news"][j]["title"]);
    }
  }
}
